package com.wicket.okrpbff.biz.service.dto.req;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.ArrayList;
import javax.validation.constraints.NotNull;
import lombok.Data;
    import com.wicket.okrpbff.biz.service.dto.common.BffConfOptionDto;
    
    /**
     * @desc BffAddConfClassItemReqDto
     * @使用场景
     */
    @Data
    public class BffAddConfClassItemReqDto  implements Serializable {
      
    /**
     * 配置项标识 
     */
    @NotNull(message = "配置项标识不能为空")
@ApiModelProperty("配置项标识")
    private String	 confItemCode;

    /**
     * 配置项名称 
     */
    @NotNull(message = "配置项名称不能为空")
@ApiModelProperty("配置项名称")
    private String	 confItemName;

    /**
     * 配置项简称 
     */
    @NotNull(message = "配置项简称不能为空")
@ApiModelProperty("配置项简称")
    private String	 shortName;

    /**
     * 配置项描述 
     */
    @ApiModelProperty("配置项描述")
    private String	 confItemDes;

    /**
     * 所属配置方案ID 
     */
    @NotNull(message = "所属配置方案ID不能为空")
@ApiModelProperty("所属配置方案ID")
    private String	 confSchemeId;

    /**
     * 所属配置方案标识 
     */
    @NotNull(message = "所属配置方案标识不能为空")
@ApiModelProperty("所属配置方案标识")
    private String	 confSchemeCode;

    /**
     * 方案分组ID 
     */
    @NotNull(message = "方案分组ID不能为空")
@ApiModelProperty("方案分组ID")
    private String	 confItemClassId;

    /**
     * 分组标识 
     */
    @NotNull(message = "分组标识不能为空")
@ApiModelProperty("分组标识")
    private String	 confItemClassCode;

    /**
     * 适用方案类型 BASE_APP:基础应用 CORE_APP:核心应用 ENHANCE_APP:增强应用 PLUG_IN_APP:插件应用 PLATFORM_APP:平台应用
     */
    @NotNull(message = "适用方案类型不能为空")
@ApiModelProperty("适用方案类型")
    private String	 applyTypeCode;

    /**
     * 选项类型 RADIO:单选型 MULTIPLE:多选型 TEXT:填空型
     */
    @NotNull(message = "选项类型不能为空")
@ApiModelProperty("选项类型")
    private String	 confItemCategory;

    /**
     * 归属业务应用标识 
     */
    @NotNull(message = "归属业务应用标识不能为空")
@ApiModelProperty("归属业务应用标识")
    private String	 bizAppCode;

    /**
     * 归属业务场景标识 
     */
    @NotNull(message = "归属业务场景标识不能为空")
@ApiModelProperty("归属业务场景标识")
    private String	 bizSceneCode;

    /**
     * 是否用户可见 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否用户可见")
    private String	 isVisible;

    /**
     * 是否开启自定义配置 TRUE:是 FALSE:否
     */
    @NotNull(message = "是否开启自定义配置不能为空")
@ApiModelProperty("是否开启自定义配置")
    private String	 isOpenCustomConf;

    /**
     * 是否开关 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否开关")
    private String	 isSwitch;

    /**
     * 是否商业参数 TRUE:是 FALSE:否
     */
    @NotNull(message = "是否商业参数不能为空")
@ApiModelProperty("是否商业参数")
    private String	 isBusiness;

    /**
     * 排序 
     */
    @NotNull(message = "排序不能为空")
@ApiModelProperty("排序")
    private Long	 orderNumber;

@ApiModelProperty("配置选项列表")
private List<BffConfOptionDto> confOptionList = new ArrayList<>();

@ApiModelProperty("配置项下选项关系列表 ")
List<Long> confItemOptionList = new ArrayList<>();
    
      

    }
   